This invention is related to the field of computer simulation of interacting bodies, and, more particularly, to techniques for simulating collisions between rigid bodies.
Recently, the drive toward realistic computer simulation has increased, especially in the field of computer games, which often tout their "virtual reality". For realistic simulations, researchers and software developers are moving toward physically-based modeling by which the motion and actions of bodies in the simulated system are determined by the laws of physics. In nearly any interesting computer simulation of the movements of bodies in an environment, collisions between bodies are likely, and in the graphics animation of many computer games, collisions are constant occurrences.
The classical technique for simulating collisions between rigid bodies has been the "spring-damper" approach. That is, in a simulated collision between two bodies, the repulsive force between the two bodies is considered to act like a spring. However, this technique has difficulties in handling some of the more complex cases, such as systems in which some of the bodies are coupled by articulated joints, or systems in which the collisions are highly energetic. Calculations for the simulations encounter numeric instability, overflow, and various other problems. Additionally, even if the numerical calculations remain stable, the calculations are often too slow for practical applications.
Because of these difficulties, researchers have turned to the "impulse" approach for simulating collisions. In this technique, the force between the colliding bodies is considered to be infinite for an infinitely small time interval to cause an instantaneous change in velocity for a colliding body. This impulse model is a rough approximation for forces in the real world and is a good model for colliding bodies which are very rigid, such as billiard balls. However, this approach is considered a rougher approximation of real world forces than the spring-damper model. For bodies of materials which are not totally rigid, the impulse model manifests its deficiencies by the generation of motions which are somewhat unrealistic.
The present invention solves or substantially mitigates these problems of physically-based modeling simulations with improvements in the spring-damper technique. Problems of numeric instability, overflow, and others are substantially reduced or avoided. Calculations for the simulation of collisions proceed at high speed for many practical applications. The present invention further provides for the efficient and realistic animation of simulated collisions.